package com.sumainfor.wx.tenant.feign;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.sumainfor.common.util.JsonResult;
import com.sumainfor.common.utlis.Pager;
import com.sumainfor.wx.tenant.fallback.DevelopmentFeignClientFallback;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;

import java.util.List;
import java.util.Map;

/**
 * @Author PuaChen
 * @Create 2019-01-25 14:36
 * 发展部调用
 */
@FeignClient(value = "TANGNEST-PC-DEV", fallback = DevelopmentFeignClientFallback.class)
public interface DevelopmentFeignClient {

    ///////////////////////////////////////////////////////////////////////////
    // 小马 定义的接口
    ///////////////////////////////////////////////////////////////////////////

    /**
     * 查询密保问题
     *
     * @return
     */
    @RequestMapping("/tenant/kty/QuestionController/getquestion")
    public JsonResult getquestion();

    /**
     * 查询系统消息id（修改加上注册时间）
     *
     * @return
     */
    @RequestMapping("/tenant/kty/QuestionController/getMesId")
    public JsonResult getMesId(@RequestParam Map<String,Object> params);

    @PostMapping("/tenant/kty/QuestionController/getMessageById")
    public JsonResult getMessageById(@RequestBody List<Map<String, Object>> params);

    @RequestMapping("/tenant/kty/QuestionController/getMessageinfoById")
    public JsonResult getMessageinfoById(@RequestParam Map<String, Object> params);

    ///////////////////////////////////////////////////////////////////////////
    // 陈 定义的服务接口
    ///////////////////////////////////////////////////////////////////////////

    /**
     * 获得首页Banner 列表数据
     *
     * @return
     */
    @PostMapping("/tenant/key/index/getIndexBanner")
    JsonResult getIndexBanner();


    /**
     * 获得首页热门房源信息
     *
     * @return
     */
    @PostMapping("/tenant/key/index/getHotHousingIndexData")
    JsonResult getHotHousingIndexData();

    /**
     * 获得所有的热门房源信息数据
     *
     * @return
     */
    @PostMapping("/tenant/key/index/getHotHousingAll")
    JsonResult getHotHousingAll();

    /**
     * 获得租房攻略
     *
     * @param page
     * @return
     */
    @RequestMapping("/tenant/key/index/getRaidersMainList")
    JsonResult getRaidersMainList(@RequestParam("page") Page page);

    /**
     * 根据租房攻略主编号查询所有的内部房源
     *
     * @param page
     * @param raId
     * @return
     */
    @RequestMapping("/tenant/key/index/getRaidersInfoDataByRaId")
    JsonResult getRaidersInfoDataByRaId(@RequestParam("page") Page page, @RequestParam("raId") String raId);


    ///////////////////////////////////////////////////////////////////////////
    // 陆 定义的服务接口
    ///////////////////////////////////////////////////////////////////////////

    /**
     * 功能描述: 
     * 获取首页活动
     * @Author zhlu
     * @Description //TODO
     * @Date 2019/3/10 14:18
     */
    @ResponseBody
    @RequestMapping(value = "/tenant/key/index/getMovableList",method = RequestMethod.GET)
    JsonResult getMovableList();

    /**
     * 功能描述: 
     * 根据编号获取首页活动详情
     * @Author zhlu
     * @Description //TODO
     * @Date 2019/3/10 15:25
     */
    @GetMapping("/tenant/key/index/getMovableMap")
    JsonResult getMovableMap(@RequestParam Map<String,Object>params);

    /**
     * 功能描述: 
     * 根据活动编号获取活动和房源中间表
     * @Author zhlu
     * @Description //TODO
     * @Date 2019/3/12 18:07
     */
    @GetMapping("/tenant/key/index/getMovableHousingList")
    JsonResult getMovableHousingList(@RequestParam Map<String,Object>params);


    /**
     * 查询优惠券信息1
     *
     * @return
     */
    @PostMapping("/tenant/kty/CouponController/getCouponByCouId")
     JsonResult getCouponByCouId(@RequestParam Map<String, Object> params);


    @PostMapping("/tenant/kty/CouponController/updateCouponStatus")
    JsonResult updateCouponStatus(@RequestParam Map<String,Object> params);
}
